iT邦幫忙

2021 iThome 鐵人賽

DAY 13
1
Software Development

C 語言的簡單入門系列 第 13

【Day 13】C語言的 if 條件判斷(下)

  • 分享至 

  • xImage
  •  

有時候,我們可能會需要多個條件的判斷,這時候就會用到 if 的巢狀條件式了!

巢狀條件式

語法如下:

if(condition 1){
    statement 1;
    if(condition 2){
        statement 2;
    }
    ...
    ...
}

上面的程式碼,是如果只滿足 condition 1,就只會執行 statement 1。要同時滿足 condtion 1&2,才會執行到 statement 2。

if...else if...else

語法如下:

if(condition 1){
    statement 1;
else if(condition 2){
    statement 2;
}
...
else{
    statement n;
}

上面的程式碼功能是:

  • 如果滿足 condition 1,就執行 statement 1
  • 若不滿足 condition 1,則往下執行,如果滿足 condition 2,就執行 statement 2
  • 如果執行到最後都沒有一個 condition 是滿足的,就執行 statement n。

寫程式時,我們常常希望我們的程式是簡潔易讀的,這時候就有一個很好用的表達式可以幫助我們縮短程式碼~

三元表達式

其實,在剛學程式的時候,我都很少用三元表達式,因為不是很熟,但上大學發現,三元表達式真的是好好用!
一般形式:
Exp1 ? Exp2 : Exp3;
其中,Exp1 是一個條件,如果條件成立,就做 Exp2 的運算,運算結果會是整個表達式的值,如果 Exp2 條件不成立,就做 Exp3 的運算,運算結果也會是整個表達式的值。
這部分需要上程式碼解釋一下:

#include<stdio.h>
int main(){
    int A = 0;
    char output = 'U';
    output = (A == 0)?'T':'F';
    printf("A=0 ?--> %c", output);
    return 0;
}

輸出結果:

這個程式,是想判斷 A 是不是等於 0,一開始宣告變數 output 等於U(unknown),然後執行 output = (A==0)?'T':'F'; 這行程式,這行程式的意思是「A 是否等於 0,如果是的話 output 會等於 T(true),如果否的話,output 會等於 F(false)」,然後我們再將結果輸出,會發現,output 從 ’U’ 經過判斷變成了 ’T’。

學完 if 條件句,我們可以寫個小程式練習一下如何使用 if 條件句,最經典的題目就是 BMI 問題。

讓我們寫一個程式,讓使用者輸入身高、體重,算出 BMI 輸出,並判斷過輕、適中、過重!
BMI = 體重(kg)/(身高(m)*身高(m))
BMI < 18.5 體重過輕
18.5 <= BMI < 24 體重適中
BMI >= 24 體重過重

明天再來看看這種題目如何解決!


上一篇
【Day 12】C 語言的 if 條件判斷(上)
下一篇
【Day 14】if 條件的範例講解
系列文
C 語言的簡單入門30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言